<?php

namespace App\Package\Finance\Contracts;

/**
 * 表达式接口
 *
 * Interface ExpressionContract
 * @package App\Package\Finance\Contracts
 * Date: 2018/6/6
 * @author George
 */
interface ExpressionContract
{
	/**
	 * 构造函数
	 *
	 * ExpressionContract constructor.
	 * @param array $literals
	 */
	public function __construct(array $literals);

	/**
	 * 解析字面量
	 *
	 * Date: 2018/6/6
	 * @author George
	 * @return mixed
	 */
	public function analysis();

	/**
	 * 执行解析结果
	 *
	 * Date: 2018/6/6
	 * @author George
	 * @return mixed
	 */
	public function execute();
}
